SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO


CREATE Proc [dbo].[SP_TXMVTO_CNTB_I16]        
/*------------------------------------------------------------*/        
/*----- Empresa          : OFISIS S.A.                    ----*/        
/*----- Cliente          : OFISIS S.A.                    ----*/        
/*----- Sistema          : Contabilidad                   ----*/        
/*----- Modulo           : Empresa                        ----*/        
/*----- Programa         : Distribucion Auxiliares        ----*/        
/*----- Script           : TXMVTO_CNTB                    ----*/        
/*----- Nombre           : SP_TXMVTO_CNTB_I16             ----*/        
/*----- Desarrollado por : Martin Garcia Farfan           ----*/        
/*----- Fecha            : 04/07/2000                     ----*/        
/*----- Base de Datos    : MS SQL Server                  ----*/        
/*----- Version          : 8.0                            ----*/        
/*----- Invoca a SP      :              ----*/        
/*------------------------------------------------------------*/        
/*------------------------------------------------------------*/        
/*----- MODIF 1: PERCY GARCIA                               ----*/         
/*----- FECHA: 26/03/2004                                 ----*/        
/*----- DETALLE: GRABAR ST_IMPR_CHEQ COMO 'N', TRUNCA FE_ASTO_CNTB--*/        
/*------------------------------------------------------------*/      
/*---------------------------------------------------------------------*/      
/*----- Modificado 2 por : percy garcia                           -----*/      
/*----- Fecha Modifica   : 05/06/2004                             -----*/      
/*----- Detalle Modifica : usuario creacion y modif               -----*/      
/*---------------------------------------------------------------------*/        
/*---------------------------------------------------------------------*/      
/*----- Modificado 3 por : percy garcia                           -----*/      
/*----- Fecha Modifica   : 02/03/2006                             -----*/      
/*----- Detalle Modifica : SE COLOCO NULLIF PARA LOS CAMPOS DE AUXILIARES Y ORDEN DE SERVICIO   -----*/      
/*---------------------------------------------------------------------*/        
/*---------------------------------------------------------------------*/      
/*----- Modificado 4 por : percy garcia                           -----*/      
/*----- Fecha Modifica   : 18/05/2006                             -----*/      
/*----- Detalle Modifica : no considera otras operaciones de distribucion en cursor-----*/      
/*---------------------------------------------------------------------*/        
/*------------------------------------------------------------*/        
/*----- Drop proc SP_TXMVTO_CNTB_I16                      ----*/        
/*----- Grant all on SP_TXMVTO_CNTB_I16 to public         ----*/        
/*----- EXEC SP_TXMVTO_CNTB_I16 '01', 1, '001', 2003, 3   ----*/        
/*------------------------------------------------------------*/        
@ISCO_EMPR         TD_VC_002,        
@ISCO_USUA          TD_VC_008,    
@IDFE_USUA          TD_DT_001,    
@INNU_CNTB_EMPR    TD_IN_001,        
@ISCO_UNID_CNTB    TD_VC_003,        
@INNU_ANNO         TD_IN_004_ANNO,        
@INNU_MESE         TD_IN_002_MESE        
As        
 Begin tran SP_TXMVTO_CNTB_I16        
  Declare        
  @CSCO_CNTA_EMPR   TD_VC_020_CNTA,        
  @CSTI_AUXI_ORIG   TD_VC_001,        
  @CSCO_AUXI_ORIG   TD_VC_020,        
  @CSCO_ORDE_SERV   TD_VC_020,        
  @CSTI_AUXI_DEST   TD_VC_001,        
  @CSCO_AUXI_DEST   TD_VC_020,        
  @CNIM_MVTO_DIST   TD_NU_016_004,        
  @CNIM_MVTO_CNTB   TD_NU_016_004,        
  @VSCO_OPRC_CNTB   TD_VC_003,        
  @VSNU_ASTO        TD_VC_010,        
  @VNNU_SECU        TD_IN_002,        
  @VSCO_MONE        TD_VC_003,        
  @VSTI_OPER        TD_VC_003,         
  @VSDE_GLOS        TD_VC_100,        
  @VNIM_TOTA        TD_NU_016_004,        
  @VSCO_CADE_0001   TD_VC_100,        
  @VSCO_CADE_0002   TD_VC_100,        
  @VNNU_ASTO        TD_IN_001,        
  @VSCO_CNTA_TEMP   TD_VC_020,        
  @VSTI_AUXI_TEMP   TD_VC_001,        
  @VSCO_AUXI_TEMP   TD_VC_020,        
  @VSCO_ORDE_TEMP   TD_VC_020,         
  @VNIM_MVTO_TEMP   TD_NU_016_004,        
  @VNNU_ULTI_ASTO   TD_IN_001,        
  @VNSI_DIST_AUXI   TD_IN_001,        
  @VNSI_DIST_ORDE   TD_IN_001,        
  @VSCO_OPRC_TEMP   TD_VC_003,        
  @VSID_GANA_REDO   TD_VC_003,        
  @VSID_PERD_REDO   TD_VC_003,        
  @VSCO_GANA_REDO   TD_VC_020,        
  @VSCO_PERD_REDO   TD_VC_020,        
  @VNNU_FACT_REDO   TD_NU_015_006,        
  @VNTO_SALD        TD_NU_016_004,        
  @VDFE_ASTO_CNTB   TD_DT_001,        

  @VSCO_OPRC_ACTI   TD_VC_003,
  @VSCO_OPRC_CNTA   TD_VC_003


-- ACTIVIDAD 
Select @VSCO_OPRC_ACTI = ''
Select @VSCO_OPRC_ACTI = IsNull(CO_OPRC_CNTB,'') 
From TTIDEN_OPER 
Where CO_EMPR = @ISCO_EMPR 
And NU_CNTB_EMPR = @INNU_CNTB_EMPR 
And ID_OPRC = '023'         

-- CUENTA
Select @VSCO_OPRC_CNTA = ''
Select @VSCO_OPRC_CNTA = IsNull(CO_OPRC_CNTB,'') 
From TTIDEN_OPER 
Where CO_EMPR = @ISCO_EMPR 
And NU_CNTB_EMPR = @INNU_CNTB_EMPR 
And ID_OPRC = '032'    
        
    Declare CU_TXMVTO_CNTB_I16_1 Cursor        
     For        
     Select t2.CO_CNTA_EMPR, t2.TI_AUXI_EMPR, t2.CO_AUXI_EMPR, t2.CO_ORDE_SERV,         
         t1.TI_AUXI_DEST, t1.CO_AUXI_DEST,         
         Round((max(t1.PO_DIST) * Isnull(sum(PATINDEX(t2.TI_OPER,'CAR') * Isnull(t2.IM_MVTO_CNTB, 0) -         
                PATINDEX(t2.TI_OPER,'ABO') * Isnull(t2.IM_MVTO_CNTB, 0)), 0)) / 100, 2),        
         Round(Isnull(sum(PATINDEX(t2.TI_OPER,'CAR') * Isnull(t2.IM_MVTO_CNTB, 0) -         
                PATINDEX(t2.TI_OPER,'ABO') * Isnull(t2.IM_MVTO_CNTB, 0)), 0),2)          
        from TTAUXI_DIST t1, TXMVTO_CNTB t2        
        where t1.CO_EMPR = @ISCO_EMPR and        
        t1.NU_ANNO = @INNU_ANNO and        
        t1.NU_MESE = @INNU_MESE and        
        t2.CO_EMPR = t1.CO_EMPR and        
        t2.NU_CNTB_EMPR = @INNU_CNTB_EMPR and        
        t2.CO_OPRC_CNTB Not In (@VSCO_OPRC_ACTI, @VSCO_OPRC_CNTA) and          
        t2.NU_ANNO = t1.NU_ANNO and        
        t2.NU_MESE = t1.NU_MESE and        
       (t2.TI_AUXI_EMPR = t1.TI_AUXI_ORIG and         
        t2.CO_AUXI_EMPR = t1.CO_AUXI_ORIG) And         
        t2.SI_MVTO_CNTB = 'APR'        
        group by t2.CO_CNTA_EMPR, t2.TI_AUXI_EMPR, t2.CO_AUXI_EMPR,         
           t2.CO_ORDE_SERV, t1.TI_AUXI_DEST, t1.CO_AUXI_DEST        
        order by t2.CO_CNTA_EMPR, t2.TI_AUXI_EMPR, t2.CO_AUXI_EMPR,         
           t2.CO_ORDE_SERV, t1.TI_AUXI_DEST, t1.CO_AUXI_DEST        
        
         Select  @VSCO_MONE = CO_MONE,        
         @VNNU_FACT_REDO = NU_FACT_REDO,         
  @VSID_GANA_REDO = ID_GANA_REDO,         
  @VSID_PERD_REDO = ID_PERD_REDO        
         from TTCNTB_EMPR        
         where CO_EMPR = @ISCO_EMPR        
         and NU_CNTB_EMPR = @INNU_CNTB_EMPR         
        
  Select @VSCO_OPRC_CNTB = CO_OPRC_CNTB        
  from TTIDEN_OPER   where CO_EMPR = @ISCO_EMPR        
  and NU_CNTB_EMPR = @INNU_CNTB_EMPR    and ID_OPRC = '022'        
        
  Select @VSCO_OPRC_TEMP = CO_OPRC_CNTB        
   from TTIDEN_OPER        
   where CO_EMPR = @ISCO_EMPR        
   and NU_CNTB_EMPR = @INNU_CNTB_EMPR        
   and ID_OPRC = '023'        
        
  Select @VSCO_GANA_REDO = CO_CNTA_EMPR        
    from TTIDEN_CNTA   where CO_EMPR = @ISCO_EMPR        
    and NU_CNTB_EMPR = @INNU_CNTB_EMPR    and ID_CNTA = @VSID_GANA_REDO        
        
  Select @VSCO_PERD_REDO = CO_CNTA_EMPR        
    from TTIDEN_CNTA   where CO_EMPR = @ISCO_EMPR        
    and NU_CNTB_EMPR = @INNU_CNTB_EMPR    and ID_CNTA = @VSID_PERD_REDO        
        
  Select @VNNU_SECU = 1        
  Select @VNNU_ASTO = 1        
  Select @VSDE_GLOS = 'ASIENTO DISTRIBUCION AUXILIARES'        
  SELECT @VDFE_ASTO_CNTB = getdate()        
        
 Delete TXMVTO_CNTB        
   where CO_EMPR = @ISCO_EMPR        
   and NU_CNTB_EMPR = @INNU_CNTB_EMPR        
   and CO_OPRC_CNTB = @VSCO_OPRC_CNTB        
   and NU_ANNO = @INNU_ANNO        
   and NU_MESE = @INNU_MESE        
        
   if @@error <> 0        
    Begin        
     Rollback Tran SP_TXMVTO_CNTB_I16        
     Return        
    End        
       
  Update TCFECH_PROC        
   set NU_ULTI_ASTO = 0,  
   CO_USUA_MODI =  @ISCO_USUA,  
   FE_USUA_MODI  = @IDFE_USUA  
   where CO_EMPR = @ISCO_EMPR        
    and NU_CNTB_EMPR = @INNU_CNTB_EMPR        
  --  and CO_UNID_CNTB = @ISCO_UNID_CNTB        
    and CO_OPRC_CNTB = @VSCO_OPRC_CNTB        
    and NU_ANNO = @INNU_ANNO        
    and NU_MESE = @INNU_MESE        
        
   if @@error <> 0        
    Begin        
     Rollback Tran SP_TXMVTO_CNTB_I16        
  Return        
    End        
         
 Open CU_TXMVTO_CNTB_I16_1        
  Fetch CU_TXMVTO_CNTB_I16_1 into @CSCO_CNTA_EMPR, @CSTI_AUXI_ORIG,         
    @CSCO_AUXI_ORIG, @CSCO_ORDE_SERV, @CSTI_AUXI_DEST, @CSCO_AUXI_DEST, @CNIM_MVTO_DIST,        
    @CNIM_MVTO_CNTB        
        
      Select @VSCO_CADE_0001 = Rtrim(ltrim(@CSCO_CNTA_EMPR)) + Rtrim(ltrim(@CSTI_AUXI_ORIG)) +         
              Rtrim(ltrim(@CSCO_AUXI_ORIG)) + Isnull(Rtrim(ltrim(@CSCO_ORDE_SERV)), '')        
        
       Select @VSCO_CADE_0002 = Rtrim(ltrim(@CSCO_CNTA_EMPR)) + Rtrim(ltrim(@CSTI_AUXI_ORIG)) +         
                Rtrim(ltrim(@CSCO_AUXI_ORIG)) + Isnull(Rtrim(ltrim(@CSCO_ORDE_SERV)), '')        
        
  If @@Fetch_Status = 0 --if @@Fetch_Status        
    Begin        
      While @@Fetch_Status = 0        
    Begin        
     Select @VSCO_CADE_0001 = ''        
     Select @VSCO_CADE_0001 = Rtrim(ltrim(@CSCO_CNTA_EMPR)) + Rtrim(ltrim(@CSTI_AUXI_ORIG)) +         
                     Rtrim(ltrim(@CSCO_AUXI_ORIG)) + Isnull(Rtrim(ltrim(@CSCO_ORDE_SERV)), '')        
        
              If @VSCO_CADE_0001 != @VSCO_CADE_0002 --if @VSCO_CADE_0001 != @VSCO_CADE_0002        
      Begin        
       if @VNIM_MVTO_TEMP > 0        
        Select @VSTI_OPER = 'ABO'        
       Else        
        Select @VSTI_OPER = 'CAR'         
           
Insert into TXMVTO_CNTB(CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO,        
           NU_MESE, NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR, CO_AUXI_EMPR,        
           TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB, FA_CAMB_DIAR,        
           TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE, NU_DOCU_REFE, FE_DOCU_REFE,        
           NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV, SI_MVTO_CNTB,         
           CO_UNID_ORIG, CO_OPRC_ORIG, NU_ASTO_ORIG, ST_OTRS, NU_PROC, NU_PROC_SECU,         
           ST_IMPR_CHEQ, ST_FLAG, ST_GEST, ST_REDO, CO_USUA_MODI, FE_USUA_MODI, CO_USUA_CREA, FE_USUA_CREA)        
       Values(@ISCO_EMPR, @INNU_CNTB_EMPR, @ISCO_UNID_CNTB, @VSCO_OPRC_CNTB, @INNU_ANNO,         
           @INNU_MESE, @VSNU_ASTO, @VNNU_SECU, Convert(DateTime, Convert(Varchar, getdate(), 103), 103), @VSCO_CNTA_TEMP, NullIf(Rtrim(@VSTI_AUXI_TEMP),''),        
           NullIf(Rtrim(@VSCO_AUXI_TEMP),''), NULL, NULL, NULL, NULL, 'PAC',  @VSCO_MONE,        
           1.000000, 1.000000, @VSTI_OPER, Abs(@VNIM_MVTO_TEMP), Abs(@VNIM_MVTO_TEMP), @VSDE_GLOS, NULL, NULL, NULL,        
           NULL, NULL, NULL, NullIf(Rtrim(@VSCO_ORDE_TEMP),''), 'APR',          
           NULL, NULL, NULL, NULL, NULL, NULL,        
           'N', NULL, 'N','N', @ISCO_USUA , @IDFE_USUA, @ISCO_USUA, @IDFE_USUA  )        
         
       if @@error <> 0        
         Begin        
           close CU_TXMVTO_CNTB_I16_1        
           deallocate CU_TXMVTO_CNTB_I16_1        
           Rollback Tran SP_TXMVTO_CNTB_I16        
           Return        
         End        
        
               Exec SP_TXMVTO_CNTB_I25 @ISCO_EMPR, @ISCO_USUA, @IDFE_USUA, @INNU_CNTB_EMPR,@ISCO_UNID_CNTB,        
   @VSCO_OPRC_CNTB,@INNU_ANNO,@INNU_MESE,@VSNU_ASTO        
        
        Select @VNNU_ASTO = @VNNU_ASTO + 1           
       Select @VNNU_SECU = 1        
                 
       Select @VSCO_CADE_0002 = Rtrim(ltrim(@CSCO_CNTA_EMPR)) + Rtrim(ltrim(@CSTI_AUXI_ORIG)) +         
                          Rtrim(ltrim(@CSCO_AUXI_ORIG)) + Isnull(Rtrim(ltrim(@CSCO_ORDE_SERV)), '')        
     End  -- Fin    If @VSCO_CADE_0001 != @VSCO_CADE_0002        
        
    if @CNIM_MVTO_DIST > 0        
     Select @VSTI_OPER = 'CAR'        
     Else            
     Select @VSTI_OPER = 'ABO'        
        
    Select @VSNU_ASTO = substring('0000000000', 1, 10 - datalength(rtrim(ltrim(convert(varchar, @VNNU_ASTO))))) +         
       convert(varchar, @VNNU_ASTO)        
        
      Insert into TXMVTO_CNTB(CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO,        
           NU_MESE, NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR, CO_AUXI_EMPR,        
           TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB, FA_CAMB_DIAR,        
           TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE, NU_DOCU_REFE, FE_DOCU_REFE,        
           NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV, SI_MVTO_CNTB,        
           CO_UNID_ORIG, CO_OPRC_ORIG, NU_ASTO_ORIG, ST_OTRS, NU_PROC, NU_PROC_SECU,         
           ST_IMPR_CHEQ, ST_FLAG, ST_GEST, ST_REDO, CO_USUA_MODI, FE_USUA_MODI, CO_USUA_CREA, FE_USUA_CREA)        
      Values(@ISCO_EMPR, @INNU_CNTB_EMPR, @ISCO_UNID_CNTB, @VSCO_OPRC_CNTB, @INNU_ANNO,         
           @INNU_MESE, @VSNU_ASTO, @VNNU_SECU, Convert(DateTime, Convert(Varchar, getdate(), 103), 103), @CSCO_CNTA_EMPR, NullIf(Rtrim(@CSTI_AUXI_DEST),''),         
           NullIf(Rtrim(@CSCO_AUXI_DEST),''), NULL, NULL, NULL, NULL, 'PAC',  @VSCO_MONE,        
           1.00, 1.00, @VSTI_OPER, Abs(@CNIM_MVTO_DIST), Abs(@CNIM_MVTO_DIST), @VSDE_GLOS, NULL, NULL, NULL,        
           NULL, NULL, NULL, NullIf(Rtrim(@CSCO_ORDE_SERV),''), 'APR',         
           NULL, NULL, NULL, NULL, NULL, NULL,        
           'N', NULL, 'N', 'N', @ISCO_USUA , @IDFE_USUA, @ISCO_USUA, @IDFE_USUA )        
        
        if @@error <> 0        
          Begin        
            close CU_TXMVTO_CNTB_I16_1        
            deallocate CU_TXMVTO_CNTB_I16_1        
            Rollback Tran SP_TXMVTO_CNTB_I16        
            Return        
          End        
        
      Select @VNNU_SECU = @VNNU_SECU + 1        
              
      Select @VSCO_CNTA_TEMP = @CSCO_CNTA_EMPR        
      Select @VSTI_AUXI_TEMP = @CSTI_AUXI_ORIG        
      Select @VSCO_AUXI_TEMP = @CSCO_AUXI_ORIG        
      Select @VSCO_ORDE_TEMP = @CSCO_ORDE_SERV        
      Select @VNIM_MVTO_TEMP = @CNIM_MVTO_CNTB        
         
     Fetch CU_TXMVTO_CNTB_I16_1 into @CSCO_CNTA_EMPR, @CSTI_AUXI_ORIG,         
       @CSCO_AUXI_ORIG, @CSCO_ORDE_SERV, @CSTI_AUXI_DEST, @CSCO_AUXI_DEST, @CNIM_MVTO_DIST,        
       @CNIM_MVTO_CNTB        
    End        
        
     if @CNIM_MVTO_CNTB > 0        
      Select @VSTI_OPER = 'ABO'        
     Else        
      Select @VSTI_OPER = 'CAR'         
          
    Insert into TXMVTO_CNTB(CO_EMPR, NU_CNTB_EMPR, CO_UNID_CNTB, CO_OPRC_CNTB, NU_ANNO,        
      NU_MESE, NU_ASTO, NU_SECU, FE_ASTO_CNTB, CO_CNTA_EMPR, TI_AUXI_EMPR, CO_AUXI_EMPR,        
      TI_DOCU, NU_DOCU, FE_DOCU, FE_DOCU_VENC, TI_CAMB, CO_MONE, FA_CAMB, FA_CAMB_DIAR,        
     TI_OPER, IM_MVTO_ORIG, IM_MVTO_CNTB, DE_GLOS, TI_DOCU_REFE, NU_DOCU_REFE, FE_DOCU_REFE,        
      NO_GIRA, FE_ENTR_CHEQ, FE_PROG_CHEQ, CO_ORDE_SERV, SI_MVTO_CNTB,         
      CO_UNID_ORIG, CO_OPRC_ORIG, NU_ASTO_ORIG, ST_OTRS, NU_PROC, NU_PROC_SECU,         
      ST_IMPR_CHEQ, ST_FLAG, ST_GEST, ST_REDO, CO_USUA_MODI, FE_USUA_MODI, CO_USUA_CREA, FE_USUA_CREA)        
    Values(@ISCO_EMPR, @INNU_CNTB_EMPR, @ISCO_UNID_CNTB, @VSCO_OPRC_CNTB, @INNU_ANNO,         
      @INNU_MESE, @VSNU_ASTO, @VNNU_SECU, Convert(DateTime, Convert(Varchar, getdate(), 103), 103), @VSCO_CNTA_TEMP, NullIf(Rtrim(@VSTI_AUXI_TEMP),''),        
      NullIf(Rtrim(@VSCO_AUXI_TEMP),''), NULL, NULL, NULL, NULL, 'PAC',  @VSCO_MONE,        
      1.00, 1.00, @VSTI_OPER, Abs(@VNIM_MVTO_TEMP), Abs(@VNIM_MVTO_TEMP), @VSDE_GLOS, NULL, NULL, NULL,        
     NULL, NULL, NULL, NullIf(Rtrim(@VSCO_ORDE_TEMP),''), 'APR',         
      NULL, NULL, NULL, NULL, NULL, NULL,        
      'N', NULL, 'N', 'N', @ISCO_USUA , @IDFE_USUA, @ISCO_USUA, @IDFE_USUA )        
         
     if @@error <> 0        
      Begin        
       close CU_TXMVTO_CNTB_I16_1        
       deallocate CU_TXMVTO_CNTB_I16_1        
       Rollback Tran SP_TXMVTO_CNTB_I16        
       Return        
      End        
        
       Exec SP_TXMVTO_CNTB_I25 @ISCO_EMPR, @ISCO_USUA, @IDFE_USUA, @INNU_CNTB_EMPR,@ISCO_UNID_CNTB,        
   @VSCO_OPRC_CNTB,@INNU_ANNO,@INNU_MESE,@VSNU_ASTO        
        
        
 close CU_TXMVTO_CNTB_I16_1        
 deallocate CU_TXMVTO_CNTB_I16_1        
        
   Update TCFECH_PROC        
    Set NU_ULTI_ASTO = @VNNU_ASTO,  
    CO_USUA_MODI =  @ISCO_USUA,  
    FE_USUA_MODI  = @IDFE_USUA  
   where CO_EMPR = @ISCO_EMPR        
    and NU_CNTB_EMPR = @INNU_CNTB_EMPR        
    and CO_UNID_CNTB = @ISCO_UNID_CNTB        
    and CO_OPRC_CNTB = @VSCO_OPRC_CNTB        
    and NU_ANNO = @INNU_ANNO        
    and NU_MESE = @INNU_MESE        
        
   if @@error <> 0        
    Begin        
     Rollback Tran SP_TXMVTO_CNTB_I16        
     Return        
    End        
        
  End        
   Else --else del ABS(@VNTO_SALD) <> 0 AND ABS(@VNTO_SALD) <= @VNNU_FACT_REDO         
  Begin        
    close CU_TXMVTO_CNTB_I16_1        
    deallocate CU_TXMVTO_CNTB_I16_1        
  End        
        
  commit tran SP_TXMVTO_CNTB_I16        
        
 return        
/*------------------------- Fin ------------------------------*/






GO
